<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
	<title>Oali</title>
	<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
	<!-- css -->
	<link href="css/style.css" rel="stylesheet" type="text/css" />
	<!-- js  -->
	<!--<script type="text/javascript" src="js/movie-table/logic.js" />-->
</head>

<body>
	<h1>Oali concepts index</h1>
	<ol>
		<li><a href="#proxytypes">Proxy Types and generic data accessor functions</a></li>
		<li><a href="#codemarkers">Code markers</a></li>
		<li><a href="#funcs">Compile-time and run-time functions</a></li>
		<li><a href="#constraints">Constraints</a></li>
		<li><a href="#errhandling">Error handling</a></li>
		<li><a href="#rescleanup">Transparent resource clean-up</a></li>
		<li><a href="#probdomain">Problem domain integration</a></li>
	</ol>
	<br />
	<div id="proxytypes" class="chapter">
		<h2>Proxy types</h2>
		<p>Proxy types implies anonymous types that have associated functions</p><br/>

<div class="snippet">
<p>
(<span class="keyword">type</span> <span class="typename">Animal</span>)<br/>
<br/>
<span class="comment">;; data access function</span><br/>
(<span class="keyword">func</span> <span class="identifier">can-fly</span> ((animal <span class="typename">Animal</span>)))<br/>
</p>
</div>
		<br/>
		<a href="#" class="contents">Contents</a>
	</div>

	<div id="codemarkers" class="chapter">
		<h2>Code Markers</h2>
		<p>Text</p>
		<br/>
		<a href="#" class="contents">Contents</a>
	</div>

	<div id="funcs" class="chapter">
		<h2>Compile-time and run-time functions</h2>
		<p>Text</p>
		<div class="todo">
			<h3>Functions selectors?</h3>
			<p>Situations when either f1 or f2 functions shall be specified?</p>
		</div>
		<p>Functions selectors syntax:</p>

<div class="snippet">
<p>
(<span class="keyword">func</span> <span class="identifier">foo</span> ())<br/>
(<span class="keyword">func</span> <span class="identifier">bar</span> ())<br/>
<br/>
<span class="comment">;; function that uses foo or bar</span><br/>
(<span class="keyword">func</span> <span class="identifier">baz</span> ((a <span class="typename">ArgType</span>)))
<br/>
<span>&nbsp;&nbsp;(block (if (defined foo) (foo)) (if (defined bar) (bar)))</span><br/>
</p>
</div>

		<br/>
		<a href="#" class="contents">Contents</a>
	</div>

	<div id="constraints" class="chapter">
		<h2>Constraints</h2>
		<p>Constraints is a compile time entity that puts certain limitations on the defined entities such as types, functions etc.</p>
		<div class="snippet">
			<p>
			(<span class="keyword">constraint</span> <span class="constraint">constraint-name</span> (<span class="keyword">or</span> (<span class="keyword">has</span> Type1 member-foo) (<span class="keyword">has</span> <span class="typename">Type2</span> (<span class="keyword">func</span> get ((Type2 t))))))
			</p>
		</div>
		<br/>
		<a href="#" class="contents">Contents</a>
	</div>

	<div id="errhandling" class="chapter">
		<h2>Error handling</h2>
		<p>Text</p>
		<br/>
		<a href="#" class="contents">Contents</a>
	</div>

	<div id="rescleanup" class="chapter">
		<h2>Resources clean-up</h2>
		<p>Text</p>
		<a href="#" class="contents">Contents</a>
	</div>

	<div id="probdomain" class="chapter">
		<h2>Problem domain integration</h2>
		<p>Text</p>
		<br/>
		<a href="#" class="contents">Contents</a>
	</div>
</body>
</html>

